package com.InterFaceDemo;

public interface Animal {
    /**
     *   接口中的成员变量默认被修饰成 public static final
     *   接口中没有构造方法，在子类中构造函数super调用的是Object对象的构造函数
     *   在jdk7之前接口中的成员方法只能是抽象类，在JDK8中有了新特性
     *   在JDK8中，接口允许使用方法体定义成员方法，但必须在返回类型之前加上Default关键字（默认方法）
     *   在JDK8中，接口允许使用静态方法
     *   Java9中新增带方法体的私有方法体。
     *   默认方法能调用私有的静态方法和非静态方法
     *   静态方法只能调用私有的静态方法
     */
        public static final int MAX_VALUE = 10;
        public abstract void eat();
        public default void drink(){
            System.out.println("喝水");
            fart();
            run();
            eat();
        }
        public static void run(){
            System.out.println("跑起来");

            fart();
        }
       /* private*/ static void fart(){
            System.out.println("放屁");
        }
}
